Implement ScrollTimeline class without ScrollTimeline interface (i.e. without webidl) and use it for CSS animations
Categories
(Core :: Layout, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox97 | --- | fixed |
People
(Reporter: hiro, Assigned: boris)
References
(Blocks 2 open bugs)
Details
(Keywords: dev-doc-complete)
Attachments
(10 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
This bug might be better to split into a smaller bugs, but I am not sure right now.
The basic mechanism can be re-used what Botond wrote in bug 1321428, the new spec now has element-based offset, that's a big difference.
Reporter | ||
Updated•4 years ago
|
Reporter | ||
Updated•4 years ago
|
Reporter | ||
Updated•3 years ago
|
Assignee | ||
Comment 1•3 years ago
|
||
We add the placeholder to keep the scroll-timeline rule, so layout code
can access it in the future (i.e. Bug 1676791).
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 2•3 years ago
|
||
Define a simple version of ScrollTimeline and update AnimationTimeline
to provide a way to distinguish different types of timelines.
Assignee | ||
Comment 3•3 years ago
|
||
The basic part of the infrastrucure of scroll-linked animations. This is
designed based on scroll-linked animation generated by CSS.
Assignee | ||
Comment 4•3 years ago
|
||
We have to make sure we compute the correct progress at least.
Assignee | ||
Comment 5•3 years ago
|
||
So we don't expose scroll-linked animations for now.
Assignee | ||
Comment 6•3 years ago
|
||
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 7•3 years ago
|
||
Based on https://github.com/w3c/csswg-drafts/pull/4842, we define
"has finite timeline", which is a timeline that's not monotonically increasing.
We need this to update start time and hold time for scroll-timeline, so
we play scroll-linked animations as we expected, e.g. GetLocalTime() returns
the correct time value from GetCurrentTimeAsDuration().
Known issue: we still have bugs when setting "animation-play-state:paused".
Will do that in Bug 1741255.
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 8•3 years ago
|
||
And so we can make ScrollTimeline::GetTiming() be a constexpr function.
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 9•3 years ago
|
||
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 10•2 years ago
|
||
Based on our previous patches, we only support default behavior for
source and scroll-offsets:
- source:auto
- scroll-offsets: none
- scroll-offsets: auto, auto, ...
So update the parser for them. We expect to remove whole
@scroll-timeline in Bug 1733260, so now only do a tiny update in parser.
Comment 11•2 years ago
|
||
Pushed by bchiou@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b4834a00bf66 Part 1: Add ScrollTimeline class. r=hiro https://hg.mozilla.org/integration/autoland/rev/42d064474082 Part 2: Implement the infrastructure of scroll-linked animations. r=emilio,hiro https://hg.mozilla.org/integration/autoland/rev/237f69b0017b Part 3: Implement the computation of timing. r=hiro https://hg.mozilla.org/integration/autoland/rev/b62bd1a92fdc Part 4: Make TimingParams be a LiteralType. r=hiro https://hg.mozilla.org/integration/autoland/rev/a2ab78c846cf Part 5: Define the finite timeline and use it in Play() and Pause(). r=hiro https://hg.mozilla.org/integration/autoland/rev/d5a68dd4b920 Part 6: Prevent getAnimations() from returning scroll-linked animations. r=hiro https://hg.mozilla.org/integration/autoland/rev/bb7d70549ed2 Part 7: Disable OMTA for scroll-timeline. r=hiro https://hg.mozilla.org/integration/autoland/rev/508ba675a8ec Part 8: Hook scroll-timeline rule into Cascade data and use it for CSS animations. r=emilio,hiro https://hg.mozilla.org/integration/autoland/rev/949961aca7b5 Part 9: Define Scroller to handle the source of ScrollTimeline. r=emilio https://hg.mozilla.org/integration/autoland/rev/0c50f26910b5 Part 10: Make source and scroll-offsets accept only default value. r=emilio
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/31951 for changes under testing/web-platform/tests
Comment 13•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/b4834a00bf66
https://hg.mozilla.org/mozilla-central/rev/42d064474082
https://hg.mozilla.org/mozilla-central/rev/237f69b0017b
https://hg.mozilla.org/mozilla-central/rev/b62bd1a92fdc
https://hg.mozilla.org/mozilla-central/rev/a2ab78c846cf
https://hg.mozilla.org/mozilla-central/rev/d5a68dd4b920
https://hg.mozilla.org/mozilla-central/rev/bb7d70549ed2
https://hg.mozilla.org/mozilla-central/rev/508ba675a8ec
https://hg.mozilla.org/mozilla-central/rev/949961aca7b5
https://hg.mozilla.org/mozilla-central/rev/0c50f26910b5
Upstream PR merged by moz-wptsync-bot
Description
•